Coding
  • Welcome
  • Baisc Knowledge
    • Vim
    • C
      • Library
    • Java
      • Setup
      • Java Basic
  • Kattis
    • Easy
      • A Second Opinion
      • A Shortcut to What?
      • A Stack of Gold
      • ACM Contest Scoring
      • ASCII kassi
      • Aaah!
      • Add Two Numbers
      • Adding Trouble
      • Afjörmun
      • Airfare Grants
      • Above Average
      • Akcija
      • Alphabet Spam
      • Amerískur vinnustaður
      • Anti-Palindrome
      • Apaxiaaaaaaaaaaaans!
      • Arithmetic Functions
      • Arm Coordination
      • Arrangement
      • Attendance
      • Autori
      • Average Character
      • Avion
      • Baby Bites
      • Babylonian Numbers
      • ABC
      • Aldur
      • Backspace
      • Bannorð
      • Barcelona
      • Basketball One-on-One
      • Batter Up
      • Beavergnaw
      • Bela
      • BergMál
      • Bergur*
      • Akureyri*
      • Best Compromise
      • Best Relay Team*
      • Besta gjöfin
      • Betting
      • Bijele
      • Bilað Lyklaborð
      • Bitte ein Bit
      • Blandað Best
      • Blaðra
      • Blaðra2
      • Bluetooth*
      • Booking a Room
      • Bottle Opening
      • Bounding Robots
      • Breaking Branches*
      • Bracket Matching*
      • Broken Swords
      • Building Pyramids
      • Bus
      • Bus Assignment
      • CPR Number
      • Call for Problems
      • Canadians, eh?
      • Candy Store
      • Cetiri
      • Cetvrta
      • Champernowne Verification
      • Chanukah Challenge
      • Chardonnay
      • Chocolate Division*
      • Chugging
      • Cinema Crowds 2
      • Class Field Trip
      • ASCII Kassi 2
      • Coffee Cup Combo
      • Cold-puter Science
      • Composed Rhythms
      • Cookies
      • Cooking Water
      • Cornhusker
      • Cosmic Path Optimization
      • Count the Vowels
Powered by GitBook
On this page
  • Question
  • Solution
  • Idea
  • Code
Edit on GitHub
  1. Kattis
  2. Easy

CPR Number

PreviousBus AssignmentNextCall for Problems

Last updated 5 months ago

Question

Solution

Idea

Code

This is a give-away question. If I have to say something about this question, it will be very very basic string manipulation. Why "very very basic" because all the manipulations need to be hard-coded

😂
https://open.kattis.com/problems/cprnummeropen.kattis.com
https://github.com/mendax1234/Coding-Problems/blob/main/kattis/cprnummer/cprnummer.c
#include <stdio.h>

#define LEN 12

int calc_sum(char *cpr)
{
  int sum = 0;
  sum += (cpr[0] - '0') * 4;
  sum += (cpr[1] - '0') * 3;
  sum += (cpr[2] - '0') * 2;
  sum += (cpr[3] - '0') * 7;
  sum += (cpr[4] - '0') * 6;
  sum += (cpr[5] - '0') * 5;
  sum += (cpr[7] - '0') * 4;
  sum += (cpr[8] - '0') * 3;
  sum += (cpr[9] - '0') * 2;
  sum += (cpr[10] - '0') * 1;

  return sum;
}


int main()
{
  char cpr[LEN] = { 0 };
  scanf("%s", cpr);
  int sum = calc_sum(cpr);
  if (sum % 11 == 0)
  {
    printf("1\n");
  }
  else
  {
    printf("0\n");
  }
}